#ifndef __GAF_SYSINCDEF_H__
#define __GAF_SYSINCDEF_H__

#include "GAF_System.h"

// ****** 编译命令 ******


// 控制台输出操作
#include <stdio.h>
#define SYS_PRINTF			printf
#define SYS_SPRINTF			sprintf
#if defined(GAF_VC)
#define SYS_VSNPRINTF			_vsnprintf_c
#else
#define SYS_VSNPRINTF			vsnprintf
#endif

// 内存操作
#include <stdlib.h>
#define SYS_MALLOC			malloc
#define SYS_FREE			free
#include <string.h>
#define SYS_MEMSET			memset
#define SYS_MEMCMP			memcmp
#define SYS_MEMCPY			memcpy
#define SYS_MEMMOVE			memmove

// char字符串操作
#include <string.h>
#define SYS_STRCPY			strcpy
#define SYS_STRCAT			strcat
#define SYS_STRCMP			strcmp
#define SYS_STRLEN			strlen

// 可变参数操作
#include <stdarg.h>
#define	SYS_VA_LIST			va_list
#define SYS_VA_START			va_start
#define SYS_VA_ARG			va_arg
#define SYS_VA_END			va_end

// 断言
#include <assert.h>
#define SYS_ASSERT			assert

// STD控制台输出操作
#include <iostream>
#define STD_COUT			std::cout
#define STD_CIN				std::cin
#define STD_ENDL			std::endl

// STD容器
#include <string>
#define STD_STRING			std::string
#include <vector>
#define STD_VECTOR			std::vector
#include <map>
#define STD_MAP				std::map
#include <list>
#define STD_LIST			std::list

// STD数据流
#include <fstream>
#define STD_FSTREAM			std::fstream
#define STD_IFSTREAM			std::ifstream
#define STD_OFSTREAM			std::ofstream


// 文件目录系统操作(自定义调用格式)
#define SYS_FS_KIND_DIR					// DATA为文件夹
#define SYS_FS_KIND_FILE				// DATA为文件
#define SYS_FS_ERROR					// DIR错误
#define SYS_FS_DIR					// DIR数据类型
#define SYS_FS_DATA					// DATA数据类型
#define SYS_FS_OPEN(_szPath, _DIR, _DATA)		// 打开指定路径的DIR。如果成功，读取目录第一个DATA
#define SYS_FS_READ(_DIR, _DATA)			// 读取指定DIR的下一个DATA
#define SYS_FS_CLOSE(_DIR)				// 关闭指定DIR
#define SYS_FS_DATA_NAME(_DATA, _strName)		// DATA的文件或目录名
#define SYS_FS_DATA_SIZE(_DATA, _nSize)			// DATA的大小
#define SYS_FS_DATA_ISKIND(_DATE, _KIND)		// DATA是否为指定属性

// 系统变更
#if defined(GAF_WIN32)
#include "GAF_SysIncDef_Win32.h"
#elif defined(GAF_LINUX)
#include "GAF_SysIncDef_Linux.h"
#endif

#endif